package com.tinckay.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.tinckay.entity.po.Task;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author Jean
 * @since 2018-10-21
 */
public interface TaskMapper extends BaseMapper<Task> {

    /**
     * 运输任务查询
     *
     * @param dataScopeWrapper
     * @return
     */
    List<Task> tranInfo(@Param(Constants.WRAPPER) Wrapper dataScopeWrapper, @Param("transportTime") String transportTime);

    /**
     * 运输车辆编号,日期,仓体编号，运输次数，平均耗时统计
     *
     * @param dataScopeWrapper
     * @param tranTimes
     * @param workDate
     * @param barnNo
     * @param vehNo
     * @return
     */
    List<Map<String, Object>> countTask(@Param(Constants.WRAPPER) Wrapper dataScopeWrapper,
                                        @Param("tranTimes") Integer tranTimes,
                                        @Param("workDate") String workDate,
                                        @Param("barnNo") String barnNo,
                                        @Param("vehNo") String vehNo);

    /**
     * 获取任务详情
     *
     * @param id
     * @return
     */
    Task taskInfo(@Param("id") long id);

    /**
     * 实时运输状态
     *
     * @param vehNo
     * @return
     */
    Map<String, Object> latestTransport(@Param("vehNo") String vehNo);

    /**
     * 当日车辆运输过程
     *
     * @param vehNo
     * @return
     */
    List<Task> vehTranProcess(@Param("vehNo") String vehNo);
}
